Calculator device having a usb connection

ABSTRACT

A method for transferring a signal between a calculator device having a USB connector and a remote device is described. The method includes: connecting the calculator device with the remote device using the USB connector; transmitting a signal from the remote device to the calculator device using the USB connector; and receiving the transmitted signal from the remote device. A calculator device having a USB connector is described. The calculator device includes a processor for executing one or more instructions, a memory connected with the processor and storing data and instructions for execution by the processor, and a USB connector connected with the processor and connectable to a remote device for transferring a signal between the calculator device and the remote device. The calculator device is responsive to a signal received over the USB connector.

FIELD OF THE INVENTION

The present invention relates to a calculator device having a universalserial bus (USB) connection.

BACKGROUND

A hand-held calculator is an important and useful device. Similar to acomputer, the hand-held calculator has a processor, a memory, a display,and an input device; however, there are important distinguishingdifferences between the hand-held calculator and the computer.

The hand-held calculator is a specialized device and not a generalpurpose device, as is true of a computer. Because of thisspecialization, typically the hand-held calculator costs less, has alonger useful lifespan, and is more reliable and more portable than thecomputer.

Whereas a general purpose computer is capable of executing manydifferent programs, a hand-held calculator typically executes a singleprogram and less frequently supports execution of user-created programs.Normally, a hand-held calculator supports addition, subtraction,multiplication, and division of numbers, either integer-based ordecimal-based, entered by a user and displays the results on a built-indisplay.

It is known in the art to use an RS-232 serial connection between acalculator device and other devices, e.g., computer systems, datalogging systems, data display systems, etc.

Disadvantageously, the RS-232 serial connection supports communicationwith only one device at a time. Devices must be plugged and unplugged inorder to change connections increasing a frustration level of a user.Further, the RS-232 serial connection is limited to a data rate of 115Kbits/second.

SUMMARY

The present invention provides a method for transferring a signalbetween a calculator device having a USB connector and a remote device.The method includes connecting the calculator device with the remotedevice using the USB connector. A signal is transmitted from the remotedevice to the calculator device using the USB connector. The transmittedsignal from the remote device is received at the calculator device.

A calculator device aspect includes a processor, a memory, and a USBconnector. The processor executes one or more instructions. The memoryis connected with the processor and stores data and instructions forexecution by the processor. The USB connector is connected with theprocessor and connectable to a remote device for transferring a signalbetween the calculator device and the remote device. The calculatordevice is responsive to a signal received over the USB connector.

Still other advantages of the present invention will become readilyapparent to those skilled in the art from the following detaileddescription, wherein the preferred embodiments of the invention areshown and described, simply by way of illustration of the best modecontemplated of carrying out the invention. As will be realized, theinvention is capable of other and different embodiments, and its severaldetails are capable of modifications in various obvious respects, allwithout departing from the invention.

DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not bylimitation, in the figures of the accompanying drawings, whereinelements having the same reference numeral designations represent likeelements throughout and wherein:

FIG. 1 is a front face view of a calculator device according to anembodiment of the present invention;

FIG. 2 is a top end view of the calculator device of FIG. 1;

FIG. 3 is a top level block diagram of a calculator device according toan embodiment of the present invention; and

FIG. 4 is a top level flow diagram of a flow of control according to anembodiment of the present invention.

DETAILED DESCRIPTION

In contrast with the above-described approaches, the mechanism of anembodiment according to the present invention provides a calculatordevice having a USB connection.

FIG. 1 is a front face view of a calculator device 100 according to anembodiment of the present invention.

Calculator device 100 includes a display 102 and a primarily key-basedinput area 104 set in a front face 106. Although front face 106 isdepicted as a rounded rectangle, it is to be understood that the frontface may be manufactured to be any of a number of different shapes.Further, although a specific number, type and configuration of inputmechanisms are depicted in FIG. 1, it is to be understood thatvariations in the number, type, and configuration of input mechanismsmay be found in different embodiments of the present invention.

Display 102 is a rectangular liquid crystal display (LCD). As shown inFIG. 1, display 102 displays a graphed function on a graph. Input area104 includes multiple keys generally arranged in a grid. Although a gridis depicted and described, it is to be understood that the input areakeys may be arranged in different configurations.

FIG. 2 is a top end view of calculator device 100 of FIG. 1 depicting aUSB connection 200 position toward the middle of the top end of thecalculator device.

FIG. 3 is a top level block diagram depicting a calculator device 100upon which an embodiment of the invention may be implemented.

Calculator device 100 includes a bus 300 or other communicationmechanism for communicating information, and a processor 302 coupledwith the bus 300 for processing information. In one particularembodiment, processor 302 is a 16 bit processor. Calculator device 100also includes a main memory 304, such as a random access memory (RAM) orother dynamic storage device, coupled to the bus 300 for storing dataand expressions according to an embodiment of the present invention andinstructions to be executed by processor 302. Main memory 304 also maybe used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by processor302. Further, it is to be understood that in alternate embodiments, thecomponents of calculator device 100 may be combined onto a singleintegrated circuit, e.g. processor 302 and main memory 304 may becombined on a single “system on a chip.”

Calculator device 100 further includes a read only memory (ROM) 306 orother static storage device coupled to the bus 300 for storing staticinformation and instructions for the processor 302.

Calculator device 100 may be coupled via the bus 300 to a display 102,such as the above-described LCD display, for displaying an interface toa user. An input area 104, as described above with reference to FIG. 1,is coupled to the bus 300 for communicating information, e.g.user-entered expressions and values, and command inputs to the processor302.

Calculator device 100 further includes the USB connection 200 coupled tothe bus 300 for exchanging signals with a remote device (not shown) inaccordance with the USB protocol. The remote device is any deviceseparate from calculator device 100 having a corresponding USBconnection connectable with calculator device. USB connection 200conforms to the USB specification set forth by the USB ImplementersForum, Inc. In an alternate embodiment, USB connection 200 may be a USB,a USB Hi-Speed, a USB On-The-Go, or other USB-based compliantconnection.

The invention is related to the use of calculator device 100, such asthe depicted calculator device of FIGS. 1-3, to connect with one or moreremote devices (not shown) and transfer signals between the calculatordevice and the remote devices using the USB connection 200. According toone embodiment of the invention, data is stored and accessed from mainmemory 304 by calculator device 100 in response to processor 302executing sequences of instructions contained in main memory 304 inresponse to input received via input area 104. A user interacts with thecalculator device 100 via a user interface displayed (as describedabove) on display 102.

In an alternate embodiment, the user interacts with calculator device100 via an interface on the remote device using USB connection 200.

Execution of the sequences of instructions contained in the main memory304 causes the processor 302 to perform the process steps describedbelow. In alternative embodiments, hard-wired circuitry may be used inplace of or in combination with computer software instructions toimplement the invention. Thus, embodiments of the invention are notlimited to any specific combination of hardware circuitry and software.

FIG. 4 is a top level flow diagram of a flow of control 400 according toan embodiment of the present invention.

Flow of control 400 is a portion of the overall flow of control ofoperation of calculator device 100 during execution of instructions byprocessor 302. Processor 302 begins execution of flow of control 400 atstep 401 and proceeds to step 402 wherein processor 302, incommunication with USB connection 200, determines if the USB connectionreceives a signal. In an alternate embodiment, USB connection 200generates an interrupt or other signaling mechanism to processor 302 onreceipt of a signal.

If USB connection 200 fails to receive a signal, processor 302 returnsto step 402. If USB connection 200 receives a signal, the flow ofcontrol proceeds to step 403 wherein the processor determines the typeof signal received. Depending on the determined signal type received,processor 302 either proceeds to step 404 or step 405. For example, areceived signal requesting information from calculator device 100 suchas a request to archive executable software, i.e., sequences ofinstructions, stored on the calculator device to a remote device, e.g.,a computer system, causes processor 302 to proceed to step 404 totransmit the executable software for archiving via USB connection 200.Alternatively, a received signal providing executable software forinstallation on the calculator device 100 from remote device causesprocessor 302 to proceed to step 405 to store the executable softwarefor subsequent execution by processor 302. Subsequent execution of thestored executable software may be initiated automatically, at thedirection of a subsequent signal received via USB connection 200, and atthe direction of user input to calculator device 100 via input area 104.

During execution of step 404, processor 302 causes USB connection 200 totransmit a reply signal responsive to the received signal. Step 404includes the transmission of one or more signals via USB connection 200,for example, executable software, expressions, formulas, user input(either received via input area 104 or previously received via USBconnection 200), etc. Depending on the received signal type, processor302 proceeds to: (a) step 405 (described below) and stores the receivedsignal or (b) return to step 402 to determine if USB connection 200receives another signal. For example, a received executable software maybe acknowledged via USB connection 200 and subsequently stored in memory304.

During execution of step 405, processor 302 stores the received signalin memory 304. Step 405 includes the receipt and storage of one or morereceived signals from USB connection 200, for example, executablesoftware, user input, expressions, formulas, etc. Depending on thereceived signal type, processor 302 proceeds to: (a) return to step 402to determine if USB connection 200 receives another signal or (b)proceeds to step 404 to cause USB connection 200 to transmit a replysignal responsive to the received signal (described above).

In a further embodiment, during execution of step 404, the reply signaltransmitted by USB connection 200 responsive to the received signalincludes an equation for further evaluation and analysis by a remotedevice, e.g., a stand-alone computer system or workstation. That is, auser is able to transfer the equation from calculator device 100 to aremote device such as a computer system so the user may use a largerdisplay device operatively connected with the remote device or apply agreater processing capability to the equation.

Advantageously in comparison with an RS-232 connection, a USB connectionhas a higher bandwidth, e.g., up to 12 Mbits/second for USB 1.0 and upto 480 Mbits/second for USB 2.0. Further, the USB connection includesthe ability to provide power to an attached remote device or receivepower from the remote device. Further advantageously, a USB connectionsupports up to 127 devices connected at a time.

Further advantageously, the USB connection interface is plug and play,i.e., devices are detected and automatically configured as soon as theyare connected. Additionally, the USB connection may be hot-swapped,i.e., devices need not be powered down in order for the connection to bemade.

The USB connector presents a less cumbersome connector in a simplerpackage and having a single manner of plugging in connectors minimizesthe occurrence of damage to devices due to incorrect plugging. Furtherstill, the USB connection supports both isochronous and asynchronousdata transfers between devices.

It will be readily seen by one of ordinary skill in the art that thepresent invention fulfills all of the advantages set forth above. Afterreading the foregoing specification, one of ordinary skill will be ableto affect various changes, substitutions of equivalents and variousother aspects of the invention as broadly disclosed herein. It istherefore intended that the protection granted hereon be limited only bythe definition contained in the appended claims and equivalents thereof.

1. A method for transferring a signal between a calculator device and aremote device, the method comprising: connecting the remote device withthe calculator device using a universal serial bus (USB) connector,wherein the connecting the remote device comprises connecting the remotedevice with a hand-held calculator comprising primarily key-basedinputs; storing one or more instructions for execution by the calculatordevice received from the remote device via the USB connector; andexecuting, by the calculator device, at least one of the one or moreinstructions received from the remote device. 2-30. (canceled)
 31. Themethod of claim 1, wherein the executing is performed automatically. 32.The method of claim 1, wherein the executing is performed responsive toreceipt of a signal received subsequent to the instructions.
 33. Themethod of claim 1, wherein the executing is performed responsive toreceipt of user input to the calculator device.
 34. The method of 1,comprising: transmitting a signal from the calculator device to theremote device comprising user input received by the calculator device.35. A calculator device, the calculator device comprising: a processor;a memory connected with the processor and storing instructions forexecution by the processor; and a USB connector connected with theprocessor and connectable to a remote device for transferring powerbetween the calculator device and the remote device, wherein thecalculator device is a hand-held calculator comprising primarilykey-based inputs.
 36. The calculator device of claim 35, wherein thecalculator device is configured to transfer power to the remote devicevia the USB connector.
 37. The calculator device of claim 35, whereinthe calculator device is configured to receive power from the remotedevice via the USB connector.
 38. The calculator device of claim 35,wherein the USB connector is hot-swappable.
 39. The calculator device ofclaim 35, wherein the USB connector is configured to enable connectionand disconnection with the remote device without requiring thecalculator device to be powered down.
 40. The calculator device of claim35, wherein the USB connector is configured to enable connection anddisconnection with the remote device without requiring the remote deviceto be powered down.